package com.krisyu.MementoPattern.mpExpand1;

import com.krisyu.MementoPattern.template.Caretaker;
import com.krisyu.MementoPattern.template.User;

/**
 * @DATE 2022/1/8
 * @Author KrisYu
 * @Description 备忘录模式： clone方式
 */
public class Client {
    public static void main(String[] args) {
        // 获取备忘录使用者实例
        Originator user = new Originator();
        user.setState("alive");
        // 保存用户状态至备忘录管理器。
        user.createMemento();
        // 用户初始状态
        System.out.println("\n----------------用户初始化状态----------------");
        System.out.println(user.getState());
        // 用户血量过低，死亡了
        System.out.println("\n---------------血量过低，用户死亡--------------");
        user.setState("dead");
        System.out.println(user.getState());
        // 用户复活，恢复原始状态
        System.out.println("\n---------------用户复活，恢复原始状态--------------");
        user.restoreMemento();
        System.out.println(user.getState());
    }
}
